Barcodes printed on the surface of product packages, posters, signs, bill boards, and the like have enabled consumers to find additional information about various products and services. For example, a consumer can now take a digital photograph of a barcode with, for example, a digital-camera-equipped cellular telephone, personal digital assistant (PDA), or mobile tablet computing device. These devices, in additional to having a camera, typically also have a network connection, for example by way of a wireless (802.11) connection or cellular network connection, to connect to the internet. Having captured an image of a sign or product having a barcode, software applications in the device are currently available to extract and decode the barcode, connect to the internet, retrieve additional information related to the barcode, and display the information to the consumer.
This capability can be performed using many different types of common barcode formats, such as Universal Product Code (UPC) barcodes or Code 39 type barcodes which are one-dimensional (1D) bar code. A problem with 1D barcodes is that such barcodes can only store limited amounts of data. Some computer network addresses on the internet, in the form of a Uniform Resource Locator (URL) can be over 100 characters long. One solution to this problem as described in U.S. Pat. Nos. 5,978,773 and 6,199,048 is to provide a remote networked database to convert barcode values into URL strings. However, this approach requires a remote database and limits the number of possible URLs to the number of available 1D barcodes. More recently, two dimensional bar (2D) codes have become more widely used. For example, Quick Response codes (QR Codes) have become a popular barcode format for this purpose due to their ability to store large strings of data in a two-dimensional array. A QR barcode reading system is described in U.S. Pat. No. 6,494,375.
Users can also encounter barcodes when viewing electronic documents. For example, an image of a barcode or of an item having a printed barcode can be embedded in an electronic document, such as a Portable Document Format (PDF) file, a web page document encoded into hypertext markup language (HTML) or the like. A user wishing to retrieve information about the barcode can print the electronic document to a hardcopy output, for example by using an inkjet printer. The user can then capture an image of the printout using a camera device as described above and retrieve information over a communication network. Alternately, the user can capture an image with the camera device of the electronic document as displayed on an electronic monitor. These methods require the user to have access to a camera device. An improved method of retrieving information about the barcode present in an electronic document is therefore needed.